package register

import (
	"fiber/config"
	"fiber/cron"
	"fiber/global"
	"fiber/server"
)

/*
*

	项目初始化
*/
func Init() {
	// 读取配置文件
	server.InitializeConfig()

	// 搭建日志系统
	server.InitializeLog()

	// 加入启动开关， 减少未配置数据库导致的连接超时问题
	if config.Database.Enable {
		// 连接数据库
		server.InitializeDb()
		// 程序关闭前，释放数据库连接
		defer func() {
			if global.DB != nil {
				db, _ := global.DB.DB()
				db.Close()
			}
		}()
	}

	// redis
	server.InitializeRedis()

	// 按需增加初始化文件

	// 注入定时任务
	cron.InitializeCron()

	// 之后启动fiber
	server.Run()

}
